package com.ybbase.framework.model.po.flow;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.ybbase.framework.model.vo.flow.NodeUsergroupVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 节点配置表
 * </p>
 *
 * @author cg
 * @since 2019-12-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("act_node_config")
@ApiModel(value="NodeConfig对象", description="节点配置表")
public class NodeConfig extends Model<NodeConfig> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "唯一编码 : 唯一编码")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "流程编码 : 流程编码")
    private String flowCode;

    @ApiModelProperty(value = "流程节点名称 : 流程节点名称")
    private String nodeName;

    @ApiModelProperty(value = "流程节点code : 流程节点code")
    private String nodeCode;

    @ApiModelProperty(value = "流程顺序流条件code : 流程顺序流条件code")
    private String orderCode;

    @ApiModelProperty(value = "版本号 : 版本号")
    private String version;

    @ApiModelProperty(value = "业务名称 : 业务名称")
    private String businessName;

    @ApiModelProperty(value = "异常代码 : 异常代码")
    private String exceptionCode;

    @ApiModelProperty(value = "触发类型 : 0用户触发 1表单触发 2脚本触发 3周期触发 4异常触发")
    private Integer triggerType;

    @ApiModelProperty(value = "实地节点id : 实地节点id")
    private Integer localNodeId;

    @ApiModelProperty(value = "实地节点名称 : 实地节点名称")
    private String localNodeName;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
    /*********************************扩展***************************************/
    @ApiModelProperty(value = "节点动作集")
    @TableField(exist = false)
    public String[] actionCodes;
    @TableField(exist = false)
    public String flowNames;
    @TableField(exist = false)
    public String userNames;
    @TableField(exist = false)
    public String userId;
    @TableField(exist = false)
    public String nodeNameCg;
    @TableField(exist = false)
    public String choosePeople;
    @TableField(exist = false)
    public String choosePeopleNames;
    @TableField(exist = false)
    public String dtree_id_select_nodeId;
    @TableField(exist = false)
    public String dtree_id_select_input;
    @TableField(exist = false)
    public List<NodeUsergroupVO> usergroupList;
}
